/**
 * Author @cc
 * Name @Koa应用
 */

//引入依赖
require('module-alias/register')

const Koa = require('koa');
const parser = require('koa-bodyparser');
const catchErr = require('./middlewares/exception');
const cors = require("@koa/cors")
const koaBody = require('koa-body')

const app = new Koa();

// 初始化管理器
const Init = require('./core/init');

//全局异常捕捉
app.use(catchErr);
app.use(cors())

//文件上传
app.use(koaBody({
    multipart:true,
    formidable:{
        maxFileSize:200*1024*1024
    }
}))

//body解析
app.use(parser());



//初始化app应用
Init.initCore(app)

app.listen(3000);

//websocket

// const server = require('http').Server(app.callback());
// const io = require('socket.io')(server);
// const port = 3001;

// server.listen(process.env.PORT || port, () => {
//      console.log(`app run at : http://127.0.0.1:3001`);
// })

// io.on('connection', socket => {
//     console.log('初始化成功！下面可以用socket绑定事件和触发事件了');
//     socket.on('send', data => {
//          console.log('客户端发送的内容：', data);
//          socket.emit('getMsg', '我是返回的消息... ...');
//     })

//     setTimeout( () => {
//         socket.emit('getMsg', '我是初始化3s后的返回消息... ...') 
//     }, 3000)
// })
